gusucode.com > 《MATLAB图像与视频处理实用案例详解》代码 > 《MATLAB图像与视频处理实用案例详解》代码/第 25 章 基于小波变换的数字水印技术/dwtwatermarkattack.m
function dwtwatermarkattack(action,Iw,W,ntimes,rngseed) switch lower(action) case 'filter' Ia=imfilter(Iw,ones(3)/9); case 'resize' Ia=imresize(Iw,0.5); Ia=imresize(Ia,2); case 'noise' Ia=imnoise(Iw,'salt & pepper',0.01); case 'crop' Ia=Iw; Ia(50:400,50:400)=randn(); case 'rotate' Ia=imrotate(Iw,45,'nearest','crop'); Ia=imrotate(Ia,-45,'nearest','crop'); end [Wg,nc]=getdwtwatermark(Ia,W,ntimes,rngseed,0); figure('Name',['数字水印 ',upper(action),' 攻击试验'],'Position',[287,108,943,557]); subplot(221) imshow(Iw) title('嵌入水印图像') subplot(222) imshow(Ia) title(['遭受 ',upper(action), ' 攻击']) subplot(223) imshow(W) title('原始水印图像') subplot(224) imshow(Wg) title(['提取水印,NC=',num2str(nc)]);